package Dominio;

import java.io.Serializable;

/**Autor: Pedro Redondo Quesada **46471772R**/
public /*abstract*/ class Palabra implements Serializable {

    protected String valor;
    protected int id;
    protected boolean marca;
//Constructora
    public Palabra() {
        //{Pre: - }
        //{Post: crea en una Palabra vacia}
        valor = "";
        id = 0;
        marca = false;
    }

//Consultoras
    public String getValor() {
        //{Pre: el parametro implicito no es vacio}
        //{Post: devuelve el valor nominal del parametro implicito}
        return this.valor;
    }

    public int getId() {
        //{Pre: el parametro implicito no es vacio}
        //{Post: devuelve el identificador del parametro implicito}
        return this.id;
    }

    public boolean estaMarcado() {
        //{Pre: - }
        //{Post: devuelve cierto si el parametro implicito esta marcado, falso en caso contrario}
        return this.marca;
    }

//Modificadoras
    public void setValor(String p) {
        //{Pre: p es un String no vacio}
        //{Post: el valor del parametro implicito pasara a ser p}
        this.valor = p;
    }

    public void setId(int idn)  {
        //{Pre: idn > 0}
        //{Post: el identificador del parametro implicito pasara a ser idn}
            this.id = idn;
    }

    public void marcarPalabra() {
        //{Pre: - }
        //{Post: el parametro implicito queda marcado}
        this.marca = true;
    }

    public void desmarcarPalabra() {
        //{Pre: - }
        //{Post: el parametro implicito no esta marcado}
        this.marca = false;
    }
}
